#include <glm/glm.hpp>
#include <glm/gtc/matrix_transform.hpp>
#include <glm/gtc/type_ptr.hpp>

#include <iostream>

/**
 * glm库使用的例子
*/

int main() {
    // 创建了一个四维向量 vec，初始化为 (1.0, 0.0, 0.0, 1.0)
    glm::vec4 vec(1.0f, 0.0f, 0.0f, 1.0f);
    // 创建了一个 4x4 的 单位矩阵
    glm::mat4 trans = glm::mat4(1.0f);
    // 矩阵 trans 与一个平移变换矩阵相乘，该平移变换是由 glm::translate 生成的。
    // 这里的平移向量是 (1.0, 1.0, 0.0)，表示在 x 和 y 方向上各平移 1.0 单位，z 方向不变。
    trans = glm::translate(trans, glm::vec3(1.0f, 1.0f, 0.0f));
    
    vec = trans * vec;
    std::cout << vec.x << vec.y << vec.z << std::endl;
    return 0;
}

